Prova Di Un'opera
   HOME

TheInfoList



OR:

{{other uses Prova is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
programming language that combines Prolog with Java.


Description

Prova is a rule-based
scripting Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
system that is used for middleware. The language combines imperative and
declarative programming In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow. Many languages that ap ...
by using a prolog syntax that allows calls to Java functions. In this way a strong Java code base is combined with Prolog features such as backtracking. Prova is derived from Mandarax, a Java-based
inference Inferences are steps in reasoning, moving from premises to logical consequences; etymologically, the word '' infer'' means to "carry forward". Inference is theoretically traditionally divided into deduction and induction, a distinction that in ...
system developed by
Jens Dietrich Jens may refer to: * Jens (given name), a list of people with the name * Jens (surname), a list of people * Jens, Switzerland, a municipality * 1719 Jens, an asteroid See also * Jensen (disambiguation) Jensen may refer to: People *Jensen (su ...
. Prova extends Mandarax by providing a proper language
syntax In linguistics, syntax () is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure ( constituency) ...
, native syntax integration with Java,
agent messaging Agent may refer to: Espionage, investigation, and law *, spies or intelligence officers * Law of agency, laws involving a person authorized to act on behalf of another ** Agent of record, a person with a contractual agreement with an insuranc ...
and
reaction rules Reaction may refer to a process or to a response to an action, event, or exposure: Physics and chemistry *Chemical reaction *Nuclear reaction *Reaction (physics), as defined by Newton's third law *Chain reaction (disambiguation). Biology and med ...
. The development of this language was supported by the grant provided within the EU projects GeneStream and BioGRID. In the project, the language is used as a rule-based backbone for distributed web applications in biomedical data integration, in particular, the GoPubMed system. The design goals of Prova: * Combine declarative and object-oriented programming. * Expose logic and agent behavior as rules. * Access
data sources In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
via wrappers written in Java or command-line shells like Perl. * Make the Java API of various packages accessible as rules. * Run within the Java runtime. * Enable
rapid prototyping Rapid prototyping is a group of techniques used to quickly fabricate a scale model of a physical part or assembly using three-dimensional computer aided design (CAD) data. Construction of the part or assembly is usually done using 3D printin ...
of applications. * Offer a rule-based platform for
distributed agent programming Distribution may refer to: Mathematics * Distribution (mathematics), generalized functions used to formulate solutions of partial differential equations *Probability distribution, the probability of a particular value or value range of a vari ...
. Prova aims to provide support for data integration tasks when the following is important: * Location transparency (local, remote, mirrors); * Format transparency (database, RDF, XML, HTML, flat files, computation resource); * Resilience to change (databases and web sites change often); * Use of open and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
technologies; * Understandability and modifiability by a non-IT specialist; * Economical
knowledge representation Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...
; * Extensibility with additional functionality; * Leveraging ontologies. Prova has been used as the key service integration engine in the Xcalia product where it is used for computing efficient global execution plans across multiple data sources such as Web services, TP monitors transactions like CICS or
IMS Ims is a Norwegian surname. Notable people with the surname include: * Gry Tofte Ims (born 1986), Norwegian footballer * Rolf Anker Ims (born 1958), Norwegian ecologist See also * IMS (disambiguation) Ims is a Norwegian surname. Notable people wit ...
, messages of MOM like MQ-Series, packaged applications with a JCA connector, legacy data sources on mainframes with a JCA connector, remote EJB Java objects considered as data providers or even local Java objects. Prova allows to deliver an innovative software platform for Service-oriented architecture implementations.


References

# A. Kozlenkov and M. Schroeder
PROVA: Rule-based Java-Scripting for a Bioinformatics Semantic Web
In E. Rahm, editor, International Workshop on Data Integration in the Life Sciences, Leipzig, Germany, in Lecture Notes in Computer Science, Springer-Verlag, vol. 2994, pp. 17–30, 2004. # N. Combs and J.-L. Ardoint. Rules versus Scripts in Games Artificial Intelligence, AAAI 2004 Workshop on Challenges in Game AI, 2004. # J. Dietrich, A. Kozlenkov, M. Schroeder, and G. Wagner. Rule-based Agents for the Semantic Web, Electronic Commerce Research and Applications, vol. 2, no. 4, pp. 323–338, 2004. # A. Paschke, M. Bichler, and J. Dietrich. ContractLog: An Approach to Rule Based Monitoring and Execution of Service Level Agreements, Int. Conf. on Rules and Rule Markup Languages for the Semantic Web (RuleML 2005), Galway, Ireland, 2005. # A. Kozlenkov, R. Penaloza, V. Nigam, L. Royer, G. Dawelbait, and M. Schroeder. Prova: Rule-based Java Scripting for Distributed Web Applications: A Case Study in Bioinformatics, Reactivity on the Web Workshop, Munich 2006.


External links


Prova homepage
Middleware Logic programming languages Declarative programming languages